home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-01-24 | 70.9 KB | 1,715 lines | [TEXT/MPS ] |
- ;
- ; File: OCETemplates.a
- ;
- ; Contains: Apple Open Collaboration Environment Templates Interfaces.
- ;
- ; Version: Technology: AOCE Toolbox 1.02
- ; Package: Universal Interfaces 2.2 in “MPW” on ETO #20
- ;
- ; Copyright: © 1984-1995 by Apple Computer, Inc.
- ; All rights reserved.
- ;
- ; Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- ; stack. Include the file and version information (from above)
- ; in the problem description and send to:
- ; Internet: apple.bugs@applelink.apple.com
- ; AppleLink: APPLE.BUGS
- ;
- ;
-
- IF &TYPE('__OCETEMPLATES__') = 'UNDEFINED' THEN
- __OCETEMPLATES__ SET 1
-
-
- IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
- include 'Types.a'
- ENDIF
- ; include 'ConditionalMacros.a' ;
-
- IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
- include 'Events.a'
- ENDIF
- ; include 'Quickdraw.a' ;
- ; include 'MixedMode.a' ;
- ; include 'QuickdrawText.a' ;
- ; include 'OSUtils.a' ;
- ; include 'Memory.a' ;
-
- IF &TYPE('__CONTROLS__') = 'UNDEFINED' THEN
- include 'Controls.a'
- ENDIF
- ; include 'Menus.a' ;
-
- IF &TYPE('__APPLEEVENTS__') = 'UNDEFINED' THEN
- include 'AppleEvents.a'
- ENDIF
- ; include 'Errors.a' ;
- ; include 'EPPC.a' ;
- ; include 'AppleTalk.a' ;
- ; include 'Files.a' ;
- ; include 'Finder.a' ;
- ; include 'PPCToolbox.a' ;
- ; include 'Processes.a' ;
- ; include 'Notification.a' ;
-
- IF &TYPE('__DIALOGS__') = 'UNDEFINED' THEN
- include 'Dialogs.a'
- ENDIF
- ; include 'Windows.a' ;
- ; include 'TextEdit.a' ;
-
- IF &TYPE('__OCE__') = 'UNDEFINED' THEN
- include 'OCE.a'
- ENDIF
- ; include 'Aliases.a' ;
- ; include 'Script.a' ;
- ; include 'IntlResources.a' ;
-
- IF &TYPE('__OCESTANDARDMAIL__') = 'UNDEFINED' THEN
- include 'OCEStandardMail.a'
- ENDIF
- ; include 'OCEAuthDir.a' ;
- ; include 'OCEMail.a' ;
- ; include 'DigitalSignature.a' ;
- ; include 'OCEMessaging.a' ;
-
- kDETAspectVersion EQU -976
- kDETInfoPageVersion EQU -976
- kDETKillerVersion EQU -976
- kDETForwarderVersion EQU -976
- kDETFileTypeVersion EQU -976
-
- ; "Normal" separation for template IDs within the file (this is just a suggestion; you can use whatever
- ; separation you like, so long as two separate templates don't have overlapping resources):
- kDETIDSep EQU 250
-
- ; A few predefined base IDs (again, just suggestions):
- kDETFirstID EQU 1000
- kDETSecondID EQU 1000 + kDETIDSep
- kDETThirdID EQU 1000 + 2 * kDETIDSep
- kDETFourthID EQU 1000 + 3 * kDETIDSep
- kDETFifthID EQU 1000 + 4 * kDETIDSep
-
- ; Templates consist of a set of associated resources, at constant offsets from a "base ID" set by the
- ; signature resource of the template. In the case of aspect templates, most of the resources in the
- ; template are accessible from the template as property default values. The property number is the same
- ; as the offset from the base ID of the resource. In describing the resources which make up templates,
- ; we give the type, the offset, and a description. For aspect templates, the offset is also the property #.
- ;
- ; All templates include the following resource fork resources:
- ;
- ; Type Offset Description
- ; ---- ------ -----------
- ; 'rstr' kDETTemplateName Contains the name of the template
- ;
- ;
- kDETTemplateName EQU 0
-
- ; Aspects, info-pages, and forwarders include the following as well:
- ;
- ; Type Offset Description
- ; ---- ------ -----------
- ; 'rstr' kDETRecordType Contains the type of record this applies to
- ; 'rstr' kDETAttributeType Contains the type of attribute this applies to
- ; 'detn' kDETAttributeValueTag Contains the tag of the attribute values this applies to
- ;
- ;
- kDETRecordType EQU 1
- kDETAttributeType EQU 2
- kDETAttributeValueTag EQU 3
-
- ; ************************************ Aspects
- ; In the case of aspects, property numbers and resource id offsets are the same. Therefore, some of the following
- ; defines are used for resource offsets, some are used for dynamically generated properties, and some are used for
- ; both (i.e., properties which may be dynamically generated, but if they aren't, then they're taken from the
- ; resource). Resource types are given in all cases below; even if there is no actual resource (for example in
- ; the case of kDETAspectName), it indicates the type for the dynamically generated property. A resource type of
- ; 'rstr' corresponds to a property type of kDETPrTypeString; type 'detn' corresponds to kDETPrTypeNumber; and
- ; 'detb' corresponds to kDETPrTypeBinary.
- ;
- ; Type Offset Description
- ; ---- ------ -----------
- ; 'deta' 0 Identifies the type of resource
- ; 'detc' kDETCode Is the code resource, if any is used
- ; 'ICN#' kDETAspectMainBitmap
- ; 'icl8' kDETAspectMainBitmap
- ; 'icl4' kDETAspectMainBitmap
- ; 'ics#' kDETAspectMainBitmap
- ; 'ics8' kDETAspectMainBitmap
- ; 'ics4' kDETAspectMainBitmap
- ; 'sicn' kDETAspectMainBitmap Is the icon suite to display for this item type (main aspect only)
- ; 'rstr' kDETAspectName Contains the name of the item (attribute main aspect only)
- ; 'rst#' kDETAspectCategory Contains the internal categories for the record type (main aspect only)
- ; 'rst#' kDETAspectExternalCategory Contains the external (user-visible) names which correspond to the categories in
- ; kDETAspectCategory; if this resource is not present, external names are taken from
- ; another template; if no other template provides an external name for a given internal
- ; category, the internal name is used as the external name (main aspect only)
- ; 'rstr' kDETAspectKind Is the item kind to display (main aspect only)
- ; 'detn' kDETAspectGender Is the gender of this kind of object for internationalization (main aspect only)
- ; 'rstr' kDETAspectWhatIs Is the string for balloon help when item is in sublist (main aspect only)
- ; 'rstr' kDETAspectAliasKind Is the item kind to display for aliases to this type of item (main aspect only)
- ; 'detn' kDETAspectAliasGender Is the gender of an alias to this kind of object for internationalization (main aspect only)
- ; 'rstr' kDETAspectAliasWhatIs Is the string for balloon help when an alias to the item is in sublist (main aspect only)
- ; 'rst#' kDETAspectBalloons Is a list of strings for balloon help; for each item in an info-page, it's
- ; property # times 2 is used as an index into this array; if the item is not editable,
- ; then the property # times 2 plus 1 is used
- ; 'rstr' kDETAspectNewMenuName Is the string to be used for the user to select new item creation; for records, the
- ; string is used as a menu entry in the Catalogs menu; for attributes, the string
- ; is used in a selection dialog invoked by an "Add..." button
- ; 'rstr' kDETAspectNewEntryName Is the name to be used for new records (with a digit appended if not unique)
- ; 'detb' kDETAspectNewValue Is the value to use when creating a new attribute value; the first four bytes
- ; is the tag; the rest is the attribute value contents
- ; 'detn' kDETAspectSublistOpenOnNew If true (non-zero), automatically open newly created entries (property can be set
- ; from a code resource, or via a default value in a resource)
- ; 'dett' kDETAspectLookup Is the attribute-to-property translation table
- ; 'rstr' kDETAspectDragInString Is a string describing the action of dragging into this aspect (if any)
- ; 'rstr' kDETAspectDragInVerb Is a single, short word that's the verb of the action (like "add" or "drop"; if
- ; there's any doubt, use "OK")
- ; 'rstr' kDETAspectDragInSummary Is a short phrase that describes the action, suitable to be included in a selection list
- ; 'rst#' kDETAspectRecordDragIn Is a list of type pairs; in each pair, the first is the type of a record which
- ; can be dragged into this aspect, and the second is the attribute type to store
- ; the reference in
- ; 'rst#' kDETAspectRecordCatDragIn Is a list of category/attribute type pairs; in each pair, the first is the
- ; category of records which can be dragged in, and the second is the type of
- ; attribute to place the alias in
- ; 'rst#' kDETAspectAttrDragIn Is a list of type triples; in each triple, the first is the record type which can be
- ; dragged from (or "" for any), the second is the attribute type which can be dragged
- ; in, and the third is the attribute type to store the new attribute in
- ; 'rst#' kDETAspectDragOut Is a list of attribute types which can be dragged out of this aspect (an 'rst#'
- ; resource with no entries means nothing can be dragged out; no 'rst#' resource means
- ; everything can be dragged out)
- ; 'detm' kDETAspectViewMenu Is a table to fill in the view menu from
- ; 'detp' kDETAspectReverseSort Is a table listing which properties to sort in reverse order
- ; 'detw' kDETAspectInfoPageCustomWindow Is a specification of a custom window size/placement & whether to use the
- ; page-selector (main aspect only)
- ; 'detv' kDETAspectInfoPageCustomWindow Is a view list which is common to all info-pages (main aspect only)
- ;
- kDETAspectCode EQU 4
- kDETAspectMainBitmap EQU 5
- kDETAspectName EQU 6
- kDETAspectCategory EQU 7
- kDETAspectExternalCategory EQU 8
- kDETAspectKind EQU 9
- kDETAspectGender EQU 10
- kDETAspectWhatIs EQU 11
- kDETAspectAliasKind EQU 12
- kDETAspectAliasGender EQU 13
- kDETAspectAliasWhatIs EQU 14
- kDETAspectBalloons EQU 15
- kDETAspectNewMenuName EQU 16
- kDETAspectNewEntryName EQU 17
- kDETAspectNewValue EQU 18
- kDETAspectSublistOpenOnNew EQU 19
- kDETAspectLookup EQU 20
- kDETAspectDragInString EQU 21
- kDETAspectDragInVerb EQU 22
- kDETAspectDragInSummary EQU 23
- kDETAspectRecordDragIn EQU 24
- kDETAspectRecordCatDragIn EQU 25
- kDETAspectAttrDragIn EQU 26
- kDETAspectAttrDragOut EQU 27
- kDETAspectViewMenu EQU 28
- kDETAspectReverseSort EQU 29
- kDETAspectInfoPageCustomWindow EQU 30
-
- ; Properties:
- kDETNoProperty EQU -1
-
- ; Each aspect has 250 attribute properties in this range:
- kDETFirstLocalProperty EQU 0
- kDETLastLocalProperty EQU (kDETFirstLocalProperty + 249)
-
- ; Developers should use property numbers starting at this point:
- kDETFirstDevProperty EQU 40
-
- ; The following range provides constant numeric properties for use in patterns and comparisons (constant n is
- ;
- ; given by kDETFirstConstantProperty+n):
- kDETFirstConstantProperty EQU 250
- kDETLastConstantProperty EQU (kDETFirstConstantProperty + 249)
-
- ; To convert a number into a constant property, add this:
- kDETConstantProperty EQU kDETFirstConstantProperty
- kDETZeroProperty EQU (kDETConstantProperty + 0)
- kDETOneProperty EQU (kDETConstantProperty + 1)
- kDETFalseProperty EQU (kDETConstantProperty + 0)
- kDETTrueProperty EQU (kDETConstantProperty + 1)
-
- ; The following apply to records, attributes, or aliases; they are the name and kind, as they appear in icon lists:
- kDETPrName EQU 3050
- kDETPrKind EQU 3051
-
- ; Access mask properties:
- kDETDNodeAccessMask EQU 25825 ; The DNode access mask
- kDETRecordAccessMask EQU 25826 ; The record access mask
- kDETAttributeAccessMask EQU 25827 ; The attribute access mask
- kDETPrimaryMaskByBit EQU 25828 ; A set of sixteen properties to access all bits of the primary mask
-
- ; See AOCE documentation for details definitions of each of these bits:
- kDETPrimarySeeMask EQU kDETPrimaryMaskByBit
- kDETPrimaryAddMask EQU (kDETPrimaryMaskByBit + 1)
- kDETPrimaryDeleteMask EQU (kDETPrimaryMaskByBit + 2)
- kDETPrimaryChangeMask EQU (kDETPrimaryMaskByBit + 3)
- kDETPrimaryRenameMask EQU (kDETPrimaryMaskByBit + 4)
- kDETPrimaryChangePrivsMask EQU (kDETPrimaryMaskByBit + 5)
- kDETPrimaryTopMaskBit EQU (kDETPrimaryMaskByBit + 15)
-
- ; The following property is zero until we've completed the first catalog lookup; from then on it's 1
- kDETPastFirstLookup EQU 26550
-
- ; The following property is the page number; issuing a property command with this property will flip info-pages
- kDETInfoPageNumber EQU 27050
-
- ; The value of the following properties contains the template number of the targeted aspect's template, and the
- ; currently open info-page (if any). These values can be used with kDETAspectTemplate and kDETInfoPageTemplate
- ; target selectors.
- kDETAspectTemplateNumber EQU 26551
- kDETInfoPageTemplateNumber EQU 26552
-
- ; Properties for property commands to deal with sublist items:
- kDETOpenSelectedItems EQU 26553 ; Open selected sublist items
- kDETAddNewItem EQU 26554 ; Add new sublist item
- kDETRemoveSelectedItems EQU 26555 ; Remove selected sublist items
-
- ; Property types are used to specify types of properties and conversions between types (zero and negative numbers
- ; are reserved for Apple; developer code resources can use positive numbers):
- kDETPrTypeNumber EQU -1 ; A number
- kDETPrTypeString EQU -2 ; A string
- kDETPrTypeBinary EQU -3 ; A binary block
-
- ; ************************************ Info-pages
- ; Info-pages include the following as well:
- ;
- ; Type Offset Description
- ; ---- ------ -----------
- ; 'deti' 0 Identifies the type of resource; see below for details on the contents
- ; 'rstr' kDETInfoPageName Is the name of the view to use in the page selection pop-up
- ; 'rstr' kDETInfoPageMainViewAspect Is the name of the aspect to use with the main page view
- ; 'rstr' kDETInfoPageMenuName Is the name of the catalogs menu ("Catalogs" if not present)
- ; 'detm' kDETInfoPageMenuEntries Are menu entries to go in the Catalogs menu
- ;
- ;
- kDETInfoPageName EQU 4
- kDETInfoPageMainViewAspect EQU 5
- kDETInfoPageMenuName EQU 6
- kDETInfoPageMenuEntries EQU 7
-
- ; ************************************ Views
- ;
- ; Flags:
- kDETNoFlags EQU 0
- ; Main view (non-sublist) field enabled
- kDETEnabled EQU (1 << 0)
-
- ; The following flags make sense for items in a sublist only
- ; Hilight view when entry is selected
- kDETHilightIfSelected EQU (1 << 0)
-
- ; The following flags make sense for text views only
- kDETNumericOnly EQU (1 << 3) ; Only allow the user to enter digits
- kDETMultiLine EQU (1 << 4) ; Allow multiple lines in view
- kDETDynamicSize EQU (1 << 9) ; Don't draw box around text until user clicks in it, then auto-size it
- ; * Don't allow the user to enter colons (convert ":"s to "-"s)
- kDETAllowNoColons EQU (1 << 10)
-
- ; The following flags are used for pop-up menus only
- ; Automatically resize pop-up based on contents
- kDETPopupDynamicSize EQU (1 << 8)
-
- ; The following flags are used for EditPicture views only
- ; Scale picture to view bounds rather than cropping
- kDETScaleToView EQU (1 << 8)
-
- ; Sizes for icons
- kDETLargeIcon EQU 0
- kDETSmallIcon EQU 1
- kDETMiniIcon EQU 2
-
- ; Stolen from TextEdit.h
- kDETLeft EQU 0
- kDETCenter EQU 1
- kDETRight EQU -1
- kDETForceLeft EQU -2
-
- ; Flags for use within Box view type attributes - these are distinct from the flags above
- kDETUnused EQU 0
- kDETBoxTakesContentClicks EQU (1 << 0)
- kDETBoxIsRounded EQU (1 << 1)
- kDETBoxIsGrayed EQU (1 << 2)
- kDETBoxIsInvisible EQU (1 << 3)
-
- ; The common font info
- kDETApplicationFont EQU 1
- kDETApplicationFontSize EQU 9
- kDETAppFontLineHeight EQU 12
- kDETSystemFont EQU 0
- kDETSystemFontSize EQU 12
- kDETSystemFontLineHeight EQU 16
- kDETDefaultFont EQU 1
- kDETDefaultFontSize EQU 9
- kDETDefaultFontLineHeight EQU 12
-
- ; These were taken from QuickDraw.h (where they're enums and therefore unusable in resource definitions):
- kDETNormal EQU 0
- kDETBold EQU 1
- kDETItalic EQU 2
- kDETUnderline EQU 4
- kDETOutline EQU 8
- kDETShadow EQU $10
- kDETCondense EQU $20
- kDETExtend EQU $40
-
- kDETIconStyle EQU -3 ; Normal text style for regular sublist entries, italic text style for aliases
-
- ; View menu:
- kDETChangeViewCommand EQU 'view'
-
- ; Info-page window sizes:
- ; Default record info-pages:
- kDETRecordInfoWindHeight EQU 228
- kDETRecordInfoWindWidth EQU 400
-
- ; Default attribute info-pages:
- kDETAttributeInfoWindHeight EQU 250
- kDETAttributeInfoWindWidth EQU 230
-
- ; Page identifying icon (for default info-page layout):
- kDETSubpageIconTop EQU 8
- kDETSubpageIconLeft EQU 8
- kDETSubpageIconBottom EQU (kDETSubpageIconTop + 32)
- kDETSubpageIconRight EQU (kDETSubpageIconLeft + 32)
-
- ; ************************************ Killers
- ;
- ; Killers include the following as well:
- ;
- ; Type Offset Description
- ; ---- ------ -----------
- ; 'detk' 0 Identifies the type of resource; see below for details on the contents
- ; 'rst#' kDETKillerName Contains a list of template names to be killed
- ;
- ;
- kDETKillerName EQU 1
-
- ; ************************************ Forwarders
- ;
- ; Forwarders include the following as well:
- ;
- ; Type Offset Description
- ; ---- ------ -----------
- ; 'detf' 0 Identifies the type of resource; see below for details on the contents
- ; 'rst#' kDETForwarderTemplateNames Contains a list of names of templates to forward to
- ;
- ;
- kDETForwarderTemplateNames EQU 4
-
- ; Target specification:
- kDETSelf EQU 0 ; The "current" item
- kDETSelfOtherAspect EQU 1 ; Another aspect of the current item
- kDETParent EQU 2 ; The parent (i.e., the aspect we're in the sublist of, if any) of the current item
- kDETSublistItem EQU 3 ; The itemNumberth item in the sublist
- kDETSelectedSublistItem EQU 4 ; The itemNumberth selected item in the sublist
- kDETDSSpec EQU 5 ; The item specified by the packed DSSpec
- kDETAspectTemplate EQU 6 ; A specific aspect template (number itemNumber)
- kDETInfoPageTemplate EQU 7 ; A specific info-page template (number itemNumber)
- ; * Force type to be short
- kDETHighSelector EQU $F000
-
- ; typedef long DETTargetSelector
- DETTargetSpecification RECORD 0
- selector ds.l 1 ; offset: $0 (0) ; Target selection method (see above)
- aspectName ds.l 1 ; offset: $4 (4) ; The name of the aspect (kDETSelfOtherAspect, kDETSublistItem,
- ; kDETSelectedSublistItem, kDETDSSpec); nil for main aspect or none;
- ; always filled in for calls if there is an aspect, even if it's the main aspect
- itemNumber ds.l 1 ; offset: $8 (8) ; Sublist index (kDETSublistItem & kDETSelectedSublistItem & kDETAspectTemplate);
- ; 1-based indexing
- dsSpec ds.l 1 ; offset: $C (12) ; DSSpec (kDETDSSpec only)
- sizeof EQU * ; size: $10 (16)
- ENDR
-
- ; typedef struct DETTargetSpecification DETTargetSpecification
- ; Code resource calls and call-backs both return an OSType:
- ; kDETDidNotHandle (1) = used by template to say "I didn't handle it" (for calls only)
- ; noErr = function completed successfully
- ; any error = function failed, and here's why
- ;
- kDETDidNotHandle: SET 1
-
- kDETcmdSimpleCallback EQU 0
- kDETcmdBeep EQU 1
- kDETcmdBusy EQU 2
- kDETcmdChangeCallFors EQU 3
- kDETcmdGetCommandSelectionCount EQU 4
- kDETcmdGetCommandItemN EQU 5
- kDETcmdOpenDSSpec EQU 6
- kDETcmdAboutToTalk EQU 7
- kDETcmdUnloadTemplates EQU 8
- kDETcmdTemplateCounts EQU 9
- kDETcmdTargetedCallback EQU 1000
- kDETcmdGetDSSpec EQU 1001
- kDETcmdSublistCount EQU 1002
- kDETcmdSelectedSublistCount EQU 1003
- kDETcmdRequestSync EQU 1004
- kDETcmdBreakAttribute EQU 1005
- kDETcmdGetTemplateFSSpec EQU 1006
- kDETcmdGetOpenEdit EQU 1007
- kDETcmdCloseEdit EQU 1008
- kDETcmdPropertyCallback EQU 2000
- kDETcmdGetPropertyType EQU 2001
- kDETcmdGetPropertyNumber EQU 2002
- kDETcmdGetPropertyRString EQU 2003
- kDETcmdGetPropertyBinarySize EQU 2004
- kDETcmdGetPropertyBinary EQU 2005
- kDETcmdGetPropertyChanged EQU 2006
- kDETcmdGetPropertyEditable EQU 2007
- kDETcmdSetPropertyType EQU 2008
- kDETcmdSetPropertyNumber EQU 2009
- kDETcmdSetPropertyRString EQU 2010
- kDETcmdSetPropertyBinary EQU 2011
- kDETcmdSetPropertyChanged EQU 2012
- kDETcmdSetPropertyEditable EQU 2013
- kDETcmdDirtyProperty EQU 2014
- kDETcmdDoPropertyCommand EQU 2015
- kDETcmdAddMenu EQU 2016
- kDETcmdRemoveMenu EQU 2017
- kDETcmdMenuItemRString EQU 2018
- kDETcmdSaveProperty EQU 2019
- kDETcmdGetCustomViewUserReference EQU 2020
- kDETcmdGetCustomViewBounds EQU 2021
- kDETcmdGetResource EQU 2022
- ; Force type to be long
- kDETcmdHighCallback EQU $F0000000
-
- ; typedef unsigned long DETCallBackFunctions
- DETProtoCallBackBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- sizeof EQU * ; size: $16 (22)
- ENDR
-
- ; typedef struct DETProtoCallBackBlock DETProtoCallBackBlock
- DETBeepBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- sizeof EQU * ; size: $4 (4)
- ENDR
-
- ; typedef struct DETBeepBlock DETBeepBlock
- DETBusyBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- sizeof EQU * ; size: $4 (4)
- ENDR
-
- ; typedef struct DETBusyBlock DETBusyBlock
- DETChangeCallForsBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- newCallFors ds.l 1 ; offset: $14 (20) ; -> New call-for mask
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct DETChangeCallForsBlock DETChangeCallForsBlock
- DETGetCommandSelectionCountBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- count ds.l 1 ; offset: $4 (4) ; <- The number of items in the command selection list
- sizeof EQU * ; size: $8 (8)
- ENDR
-
- ; typedef struct DETGetCommandSelectionCountBlock DETGetCommandSelectionCountBlock
-
- kDETHFSType EQU 0 ; HFS item type
- kDETDSType EQU 1 ; Catalog Service item type
- kDETMailType EQU 2 ; Mail (letter) item type
- kDETMoverType EQU 3 ; Sounds, fonts, etc., from inside a suitcase or system file
- kDETLastItemType EQU $F0000000 ; Force it to be a long (C & C++ seem to disagree about the definition of 0xF000)
-
- ; typedef unsigned long DETItemType
- ; FSSpec plus possibly interesting additional info
- DETFSInfo RECORD 0
- fileType ds.l 1 ; offset: $0 (0) ; File type
- fileCreator ds.l 1 ; offset: $4 (4) ; File creator
- fdFlags ds.w 1 ; offset: $8 (8) ; Finder flags
- fsSpec ds FSSpec ; offset: $A (10) ; FSSpec
- sizeof EQU * ; size: $50 (80)
- ENDR
-
- ; typedef struct DETFSInfo DETFSInfo
- DSRec RECORD 0
- dsSpec ds.l 1 ; offset: $0 (0) ; <- DSSpec for item (caller must DisposHandle() when done)
- refNum ds.w 1 ; offset: $4 (4) ; <- Refnum for returned address
- identity ds.l 1 ; offset: $6 (6) ; <- Identity for returned address
- sizeof EQU * ; size: $A (10)
- ENDR
-
- ; typedef struct DSRec DSRec
- ; typedef DETFSInfo *DETFSInfoPtr
- ; typedef LetterSpec *LetterSpecPtr
- ItemRec RECORD 0
- fsInfo ds.l 1 ; offset: $0 (0) ; <- FSSpec & info for item (caller must DisposHandle() when done)
- ORG 0
- asmDS ds.w 5 ; offset: $0 (0)
- ORG 0
- dsSpec ds.l 1 ; offset: $0 (0) ; <- DSSpec for item (caller must DisposHandle() when done)
- ORG 0
- ltrSpec ds.l 1 ; offset: $0 (0) ; <- Letter spec for item (caller must DisposHandle() when done)
- ORG 10
- sizeof EQU * ; size: $A (10)
- ENDR
-
- DETGetCommandItemNBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- itemNumber ds.l 1 ; offset: $4 (4) ; -> Item number to retrieve (1-based)
- itemType ds.l 1 ; offset: $8 (8) ; -> Type of item to be returned (if we can interpret it as such)
- item ds.w 5 ; offset: $C (12)
- sizeof EQU * ; size: $16 (22)
- ENDR
-
- ; typedef struct DETGetCommandItemNBlock DETGetCommandItemNBlock
- DETGetDSSpecBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- dsSpec ds.l 1 ; offset: $14 (20) ; <- Handle with result (caller must DisposHandle() when done)
- refNum ds.w 1 ; offset: $18 (24) ; <- Refnum for address if PD
- identity ds.l 1 ; offset: $1A (26) ; <- Identity for address
- isAlias ds.b 1 ; offset: $1E (30) ; <- True if this entry is an alias
- isRecordRef ds.b 1 ; offset: $1F (31) ; <- True if this entry is a record reference (reserved)
- sizeof EQU * ; size: $20 (32)
- ENDR
-
- ; typedef struct DETGetDSSpecBlock DETGetDSSpecBlock
- DETGetTemplateFSSpecBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- fsSpec ds FSSpec ; offset: $14 (20) ; <- FSSpec of template file
- baseID ds.w 1 ; offset: $5A (90) ; <- Base ID of this template
- aspectTemplateNumber ds.l 1 ; offset: $5C (92) ; <- The template number for this aspect template
- sizeof EQU * ; size: $60 (96)
- ENDR
-
- ; typedef struct DETGetTemplateFSSpecBlock DETGetTemplateFSSpecBlock
- DETGetOpenEditBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- viewProperty ds.w 1 ; offset: $14 (20) ; <- The property of the view being edited (or kNoProperty if none)
- sizeof EQU * ; size: $16 (22)
- ENDR
-
- ; typedef struct DETGetOpenEditBlock DETGetOpenEditBlock
- DETCloseEditBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- sizeof EQU * ; size: $14 (20)
- ENDR
-
- ; typedef struct DETCloseEditBlock DETCloseEditBlock
- DETGetPropertyTypeBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- propertyType ds.w 1 ; offset: $16 (22) ; <- The type of the property
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct DETGetPropertyTypeBlock DETGetPropertyTypeBlock
- DETGetPropertyNumberBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- propertyValue ds.l 1 ; offset: $16 (22) ; <- The value of the property
- sizeof EQU * ; size: $1A (26)
- ENDR
-
- ; typedef struct DETGetPropertyNumberBlock DETGetPropertyNumberBlock
- DETGetPropertyRStringBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- propertyValue ds.l 1 ; offset: $16 (22) ; <- A handle containing the property (as an RString) (caller must DisposHandle() when done)
- sizeof EQU * ; size: $1A (26)
- ENDR
-
- ; typedef struct DETGetPropertyRStringBlock DETGetPropertyRStringBlock
- DETGetPropertyBinarySizeBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- propertyBinarySize ds.l 1 ; offset: $16 (22) ; <- The size of the property as a binary block
- sizeof EQU * ; size: $1A (26)
- ENDR
-
- ; typedef struct DETGetPropertyBinarySizeBlock DETGetPropertyBinarySizeBlock
- DETGetPropertyBinaryBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- propertyValue ds.l 1 ; offset: $16 (22) ; <- Handle with the value of the property (caller must DisposHandle() when done)
- sizeof EQU * ; size: $1A (26)
- ENDR
-
- ; typedef struct DETGetPropertyBinaryBlock DETGetPropertyBinaryBlock
- DETGetPropertyChangedBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- propertyChanged ds.b 1 ; offset: $16 (22) ; <- True if the property is marked as changed
- filler1 ds.b 1 ; offset: $17 (23)
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct DETGetPropertyChangedBlock DETGetPropertyChangedBlock
- DETGetPropertyEditableBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- propertyEditable ds.b 1 ; offset: $16 (22) ; <- True if the property can be edited by the user (if false, view will appear disabled)
- filler1 ds.b 1 ; offset: $17 (23)
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct DETGetPropertyEditableBlock DETGetPropertyEditableBlock
- DETSetPropertyTypeBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- newType ds.w 1 ; offset: $16 (22) ; -> New type for property (just sets type, does not convert contents)
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct DETSetPropertyTypeBlock DETSetPropertyTypeBlock
- DETSetPropertyNumberBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- newValue ds.l 1 ; offset: $16 (22) ; -> New value to set property to (and set type to number)
- sizeof EQU * ; size: $1A (26)
- ENDR
-
- ; typedef struct DETSetPropertyNumberBlock DETSetPropertyNumberBlock
- DETSetPropertyRStringBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- newValue ds.l 1 ; offset: $16 (22) ; -> New value to set property to (and set type to RString)
- sizeof EQU * ; size: $1A (26)
- ENDR
-
- ; typedef struct DETSetPropertyRStringBlock DETSetPropertyRStringBlock
- DETSetPropertyBinaryBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- newValue ds.l 1 ; offset: $16 (22) ; -> New value to set property to (and set type to binary)
- newValueSize ds.l 1 ; offset: $1A (26) ; -> Size of new value
- sizeof EQU * ; size: $1E (30)
- ENDR
-
- ; typedef struct DETSetPropertyBinaryBlock DETSetPropertyBinaryBlock
- DETSetPropertyChangedBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- propertyChanged ds.b 1 ; offset: $16 (22) ; -> Value to set changed flag on property to
- filler1 ds.b 1 ; offset: $17 (23)
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct DETSetPropertyChangedBlock DETSetPropertyChangedBlock
- DETSetPropertyEditableBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- propertyEditable ds.b 1 ; offset: $16 (22) ; -> Value to set editable flag on property to
- filler1 ds.b 1 ; offset: $17 (23)
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct DETSetPropertyEditableBlock DETSetPropertyEditableBlock
- DETDirtyPropertyBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- sizeof EQU * ; size: $16 (22)
- ENDR
-
- ; typedef struct DETDirtyPropertyBlock DETDirtyPropertyBlock
- DETDoPropertyCommandBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- parameter ds.l 1 ; offset: $16 (22) ; -> Parameter of command
- sizeof EQU * ; size: $1A (26)
- ENDR
-
- ; typedef struct DETDoPropertyCommandBlock DETDoPropertyCommandBlock
- DETSublistCountBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- count ds.l 1 ; offset: $14 (20) ; <- The number of items in the current item's sublist
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct DETSublistCountBlock DETSublistCountBlock
- DETSelectedSublistCountBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- count ds.l 1 ; offset: $14 (20) ; <- The number of selected items in the current item's sublist
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct DETSelectedSublistCountBlock DETSelectedSublistCountBlock
- DETRequestSyncBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- sizeof EQU * ; size: $14 (20)
- ENDR
-
- ; typedef struct DETRequestSyncBlock DETRequestSyncBlock
- DETAddMenuBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- name ds.l 1 ; offset: $16 (22) ; -> Name of new menu item
- parameter ds.l 1 ; offset: $1A (26) ; -> Parameter to return when this item is selected
- addAfter ds.l 1 ; offset: $1E (30) ; -> Parameter of entry to add after, or -1 for add at end
- sizeof EQU * ; size: $22 (34)
- ENDR
-
- ; typedef struct DETAddMenuBlock DETAddMenuBlock
- DETRemoveMenuBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- itemToRemove ds.l 1 ; offset: $16 (22) ; -> Parameter of menu item to remove
- sizeof EQU * ; size: $1A (26)
- ENDR
-
- ; typedef struct DETRemoveMenuBlock DETRemoveMenuBlock
- DETMenuItemRStringBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- itemParameter ds.l 1 ; offset: $16 (22) ; -> Parameter of menu item to return string for
- rString ds.l 1 ; offset: $1A (26) ; <- Handle with the RString (caller must DisposHandle() when done)
- sizeof EQU * ; size: $1E (30)
- ENDR
-
- ; typedef struct DETMenuItemRStringBlock DETMenuItemRStringBlock
- DETOpenDSSpecBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- dsSpec ds.l 1 ; offset: $4 (4) ; -> DSSpec of object to be opened
- sizeof EQU * ; size: $8 (8)
- ENDR
-
- ; typedef struct DETOpenDSSpecBlock DETOpenDSSpecBlock
- DETAboutToTalkBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- sizeof EQU * ; size: $4 (4)
- ENDR
-
- ; typedef struct DETAboutToTalkBlock DETAboutToTalkBlock
- DETBreakAttributeBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- breakAttribute ds.l 1 ; offset: $14 (20) ; -> Attribute to parse
- isChangeable ds.b 1 ; offset: $18 (24) ; -> True if the value can be changed by the user
- filler1 ds.b 1 ; offset: $19 (25)
- sizeof EQU * ; size: $1A (26)
- ENDR
-
- ; typedef struct DETBreakAttributeBlock DETBreakAttributeBlock
- DETSavePropertyBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- sizeof EQU * ; size: $16 (22)
- ENDR
-
- ; typedef struct DETSavePropertyBlock DETSavePropertyBlock
- DETGetCustomViewUserReferenceBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- userReference ds.w 1 ; offset: $16 (22) ; <- User reference value, as specified in the .r file
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct DETGetCustomViewUserReferenceBlock DETGetCustomViewUserReferenceBlock
- DETGetCustomViewBoundsBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- bounds ds Rect ; offset: $16 (22) ; <- Bounds of the view
- sizeof EQU * ; size: $1E (30)
- ENDR
-
- ; typedef struct DETGetCustomViewBoundsBlock DETGetCustomViewBoundsBlock
- DETGetResourceBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- target ds.l 4 ; offset: $4 (4)
- property ds.w 1 ; offset: $14 (20)
- resourceType ds.l 1 ; offset: $16 (22) ; -> Resource type
- theResource ds.l 1 ; offset: $1A (26) ; <- The resource handle (caller must dispose when done)
- sizeof EQU * ; size: $1E (30)
- ENDR
-
- ; typedef struct DETGetResourceBlock DETGetResourceBlock
- DETTemplateCounts RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- aspectTemplateCount ds.l 1 ; offset: $4 (4) ; <- Number of aspect templates in the system
- infoPageTemplateCount ds.l 1 ; offset: $8 (8) ; <- Number of info-page templates in the system
- sizeof EQU * ; size: $C (12)
- ENDR
-
- ; typedef struct DETTemplateCounts DETTemplateCounts
- DETUnloadTemplatesBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- sizeof EQU * ; size: $4 (4)
- ENDR
-
- ; typedef struct DETUnloadTemplatesBlock DETUnloadTemplatesBlock
- DETCallBackBlock RECORD 0
- protoCallBack ds.w 11 ; offset: $0 (0)
- ORG 0
- beep ds.l 1 ; offset: $0 (0)
- ORG 0
- busy ds.l 1 ; offset: $0 (0)
- ORG 0
- changeCallFors ds.l 6 ; offset: $0 (0)
- ORG 0
- getCommandSelectionCount ds.l 2 ; offset: $0 (0)
- ORG 0
- getCommandItemN ds.w 11 ; offset: $0 (0)
- ORG 0
- getDSSpec ds.l 8 ; offset: $0 (0)
- ORG 0
- getTemplateFSSpec ds.l 24 ; offset: $0 (0)
- ORG 0
- getOpenEdit ds.w 11 ; offset: $0 (0)
- ORG 0
- closeEdit ds.l 5 ; offset: $0 (0)
- ORG 0
- getPropertyType ds.l 6 ; offset: $0 (0)
- ORG 0
- getPropertyNumber ds.w 13 ; offset: $0 (0)
- ORG 0
- getPropertyRString ds.w 13 ; offset: $0 (0)
- ORG 0
- getPropertyBinarySize ds.w 13 ; offset: $0 (0)
- ORG 0
- getPropertyBinary ds.w 13 ; offset: $0 (0)
- ORG 0
- getPropertyChanged ds.l 6 ; offset: $0 (0)
- ORG 0
- getPropertyEditable ds.l 6 ; offset: $0 (0)
- ORG 0
- setPropertyType ds.l 6 ; offset: $0 (0)
- ORG 0
- setPropertyNumber ds.w 13 ; offset: $0 (0)
- ORG 0
- setPropertyRString ds.w 13 ; offset: $0 (0)
- ORG 0
- setPropertyBinary ds.w 15 ; offset: $0 (0)
- ORG 0
- setPropertyChanged ds.l 6 ; offset: $0 (0)
- ORG 0
- setPropertyEditable ds.l 6 ; offset: $0 (0)
- ORG 0
- dirtyProperty ds.w 11 ; offset: $0 (0)
- ORG 0
- doPropertyCommand ds.w 13 ; offset: $0 (0)
- ORG 0
- sublistCount ds.l 6 ; offset: $0 (0)
- ORG 0
- selectedSublistCount ds.l 6 ; offset: $0 (0)
- ORG 0
- requestSync ds.l 5 ; offset: $0 (0)
- ORG 0
- addMenu ds.w 17 ; offset: $0 (0)
- ORG 0
- removeMenu ds.w 13 ; offset: $0 (0)
- ORG 0
- menuItemRString ds.w 15 ; offset: $0 (0)
- ORG 0
- openDSSpec ds.l 2 ; offset: $0 (0)
- ORG 0
- aboutToTalk ds.l 1 ; offset: $0 (0)
- ORG 0
- breakAttribute ds.w 13 ; offset: $0 (0)
- ORG 0
- saveProperty ds.w 11 ; offset: $0 (0)
- ORG 0
- getCustomViewUserReference ds.l 6 ; offset: $0 (0)
- ORG 0
- getCustomViewBounds ds.w 15 ; offset: $0 (0)
- ORG 0
- getResource ds.w 15 ; offset: $0 (0)
- ORG 0
- templateCounts ds.l 3 ; offset: $0 (0)
- ORG 0
- unloadTemplates ds.l 1 ; offset: $0 (0)
- ORG 96
- sizeof EQU * ; size: $60 (96)
- ENDR
-
- ; typedef union DETCallBackBlock DETCallBackBlock
- ; typedef DETCallBackBlock *DETCallBackBlockPtr
- ; typedef DETCallBackUPP DETCallBack
- ; Call functions:
- ;
- ; reqFunction Action
- ; ----------- ------
- ; kDETcmdInit Called once when template is first loaded (good time to allocate private data); returns call-for list
- ; kDETcmdExit Called once when template is freed (good time to free private data)
- ;
- ; kDETcmdAttributeCreation New sublist attribute creation about to occur; this gives the template a chance to modify
- ; the value that's about to be created; sent to the template that will be used for
- ; the main aspect of the new entry
- ;
- ; kDETcmdDynamicForwarders Return a list of dynamically created forwarders
- ;
- ; kDETcmdInstanceInit Called once when instance of template is started (good time to allocate private instance data)
- ; kDETcmdInstanceExit Called once when instance is ended (good time to free private instance data)
- ;
- ; kDETcmdIdle Called periodically during idle times
- ;
- ; kDETcmdViewListChanged Called when the info-page view-list (list of enabled views) has changed
- ;
- ; kDETcmdValidateSave Validate save: about to save info-page, return noErr (or kDETDidNotHandle) if it's OK to do so
- ;
- ; kDETcmdDropQuery Drop query: return the appropriate operation for this drag; ask destination
- ; kDETcmdDropMeQuery Drop query: return the appropriate operation for this drag; ask dropee
- ;
- ; kDETcmdAttributeNew Attribute value new (return kDETDidNotHandle to let normal new processing occur)
- ; kDETcmdAttributeChange Attribute value change (return kDETDidNotHandle to let normal change processing occur)
- ; kDETcmdAttributeDelete Attribute value delete (return kDETDidNotHandle to let normal deletion occur); sent to the
- ; main aspect of the attribute that's about to be deleted
- ; kDETcmdItemNew Target item (record or attribute) has just been created
- ;
- ; kDETcmdOpenSelf Self open (return noErr to prevent opening; return kDETDidNotHandle to allow it)
- ;
- ; kDETcmdDynamicResource Return a dynamically created resource
- ;
- ; kDETcmdShouldSync Check if the code resource wants to force a sync (update data from catalog)
- ; kDETcmdDoSync Give code resource a chance to sync (read in and break all attributes)
- ;
- ; kDETcmdPropertyCommand Command received in the property number range (usually means a button's been pushed)
- ;
- ; kDETcmdMaximumTextLength Return maximum size for text form of property
- ;
- ; kDETcmdPropertyDirtied Property dirtied, need to redraw
- ;
- ; kDETcmdPatternIn Custom pattern element encountered on reading in an attribute
- ; kDETcmdPatternOut Custom pattern element encountered on writing out an attribute
- ;
- ; kDETcmdConvertToNumber Convert from template-defined property type to number
- ; kDETcmdConvertToRString Convert from template-defined property type to RString
- ; kDETcmdConvertFromNumber Convert from number to template-defined property type
- ; kDETcmdConvertFromRString Convert from RString to template-defined property type
- ;
- ; kDETcmdCustomViewDraw Custom view draw
- ; kDETcmdCustomViewMouseDown Custom view mouse down
- ;
- ; kDETcmdKeyPress Key press (used primarily to filter entry into EditText views)
- ; kDETcmdPaste Paste (used primarily to filter entry into EditText views)
- ;
- ; kDETcmdCustomMenuSelected Custom Catalogs menu selected
- ; kDETcmdCustomMenuEnabled Return whether custom Catalogs menu entry should be enabled
- ;
-
- kDETcmdSimpleCall EQU 0
- kDETcmdInit EQU 1
- kDETcmdExit EQU 2
- kDETcmdAttributeCreation EQU 3
- kDETcmdDynamicForwarders EQU 4
- kDETcmdTargetedCall EQU 1000
- kDETcmdInstanceInit EQU 1001
- kDETcmdInstanceExit EQU 1002
- kDETcmdIdle EQU 1003
- kDETcmdViewListChanged EQU 1004
- kDETcmdValidateSave EQU 1005
- kDETcmdDropQuery EQU 1006
- kDETcmdDropMeQuery EQU 1007
- kDETcmdAttributeNew EQU 1008
- kDETcmdAttributeChange EQU 1009
- kDETcmdAttributeDelete EQU 1010
- kDETcmdItemNew EQU 1011
- kDETcmdOpenSelf EQU 1012
- kDETcmdDynamicResource EQU 1013
- kDETcmdShouldSync EQU 1014
- kDETcmdDoSync EQU 1015
- kDETcmdPropertyCall EQU 2000
- kDETcmdPropertyCommand EQU 2001
- kDETcmdMaximumTextLength EQU 2002
- kDETcmdPropertyDirtied EQU 2003
- kDETcmdPatternIn EQU 2004
- kDETcmdPatternOut EQU 2005
- kDETcmdConvertToNumber EQU 2006
- kDETcmdConvertToRString EQU 2007
- kDETcmdConvertFromNumber EQU 2008
- kDETcmdConvertFromRString EQU 2009
- kDETcmdCustomViewDraw EQU 2010
- kDETcmdCustomViewMouseDown EQU 2011
- kDETcmdKeyPress EQU 2012
- kDETcmdPaste EQU 2013
- kDETcmdCustomMenuSelected EQU 2014
- kDETcmdCustomMenuEnabled EQU 2015
- kDETcmdHighCall EQU $F0000000 ; Force the type to be long
-
- ; typedef unsigned long DETCallFunctions
- DETProtoCallBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- sizeof EQU * ; size: $28 (40)
- ENDR
-
- ; typedef struct DETProtoCallBlock DETProtoCallBlock
- DETInitBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- newCallFors ds.l 1 ; offset: $10 (16) ; <- New call-for mask
- sizeof EQU * ; size: $14 (20)
- ENDR
-
- ; typedef struct DETInitBlock DETInitBlock
- DETExitBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- sizeof EQU * ; size: $10 (16)
- ENDR
-
- ; typedef struct DETExitBlock DETExitBlock
- DETInstanceInitBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- sizeof EQU * ; size: $26 (38)
- ENDR
-
- ; typedef struct DETInstanceInitBlock DETInstanceInitBlock
- DETInstanceExitBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- sizeof EQU * ; size: $26 (38)
- ENDR
-
- ; typedef struct DETInstanceExitBlock DETInstanceExitBlock
- DETInstanceIdleBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- sizeof EQU * ; size: $26 (38)
- ENDR
-
- ; typedef struct DETInstanceIdleBlock DETInstanceIdleBlock
- DETPropertyCommandBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- parameter ds.l 1 ; offset: $28 (40) ; -> Parameter of command
- sizeof EQU * ; size: $2C (44)
- ENDR
-
- ; typedef struct DETPropertyCommandBlock DETPropertyCommandBlock
- DETMaximumTextLengthBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- maxSize ds.l 1 ; offset: $28 (40) ; <- Return the maximum number of characters the user can entry when property is edited in an EditText
- sizeof EQU * ; size: $2C (44)
- ENDR
-
- ; typedef struct DETMaximumTextLengthBlock DETMaximumTextLengthBlock
- DETViewListChangedBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- sizeof EQU * ; size: $26 (38)
- ENDR
-
- ; typedef struct DETViewListChangedBlock DETViewListChangedBlock
- DETPropertyDirtiedBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- sizeof EQU * ; size: $28 (40)
- ENDR
-
- ; typedef struct DETPropertyDirtiedBlock DETPropertyDirtiedBlock
- DETValidateSaveBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- errorString ds.l 1 ; offset: $26 (38) ; <- Handle with error string if validation fails (callee must allocate handle, DE will DisposHandle() it)
- sizeof EQU * ; size: $2A (42)
- ENDR
-
- ; typedef struct DETValidateSaveBlock DETValidateSaveBlock
- ; Valid commandIDs for DETDropQueryBlock and DETDropMeQueryBlock (in addition to property numbers):
-
- kDETDoNothing EQU 'xxx0'
- kDETMove EQU 'move'
- kDETDrag EQU 'drag'
- kDETAlias EQU 'alis'
-
- DETDropQueryBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- modifiers ds.w 1 ; offset: $26 (38) ; -> Modifiers at drop time (option/control/command/shift keys)
- commandID ds.l 1 ; offset: $28 (40) ; <-> Command ID (kDETDoNothing, kDETMove, kDETDrag (copy), kDETAlias, or a property number)
- destinationType ds.l 9 ; offset: $2C (44) ; <-> Type to convert attribute to
- copyToHFS ds.b 1 ; offset: $50 (80) ; <- If true, object should be copied to HFS before being operated on, and deleted after
- filler2 ds.b 1 ; offset: $51 (81)
- sizeof EQU * ; size: $52 (82)
- ENDR
-
- ; typedef struct DETDropQueryBlock DETDropQueryBlock
- DETDropMeQueryBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- modifiers ds.w 1 ; offset: $26 (38) ; -> Modifiers at drop time (option/control/command/shift keys)
- commandID ds.l 1 ; offset: $28 (40) ; <-> Command ID (kDETDoNothing, kDETMove, kDETDrag (copy), kDETAlias, or a property number)
- destinationType ds.l 9 ; offset: $2C (44) ; <-> Type to convert attribute to
- copyToHFS ds.b 1 ; offset: $50 (80) ; <- If true, object should be copied to HFS before being operated on, and deleted after
- filler2 ds.b 1 ; offset: $51 (81)
- sizeof EQU * ; size: $52 (82)
- ENDR
-
- ; typedef struct DETDropMeQueryBlock DETDropMeQueryBlock
- DETAttributeCreationBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- parent ds.l 1 ; offset: $10 (16) ; -> The object within which the creation will occur
- refNum ds.w 1 ; offset: $14 (20) ; -> Refnum for returned address (DSSpecs in PDs only)
- identity ds.l 1 ; offset: $16 (22) ; -> The identity we're browsing as in the parent object
- attrType ds.l 9 ; offset: $1A (26) ; <-> The type of the attribute being created
- attrTag ds.l 1 ; offset: $3E (62) ; <-> The tag of the attribute being created
- value ds.l 1 ; offset: $42 (66) ; <-> The value to write (pre-allocated, resize as needed)
- sizeof EQU * ; size: $46 (70)
- ENDR
-
- ; typedef struct DETAttributeCreationBlock DETAttributeCreationBlock
- DETAttributeNewBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- parent ds.l 1 ; offset: $26 (38) ; -> The object within which the creation will occur
- refNum ds.w 1 ; offset: $2A (42) ; -> Refnum for returned address (DSSpecs in PDs only)
- identity ds.l 1 ; offset: $2C (44) ; -> The identity we're browsing as in the parent object
- attrType ds.l 9 ; offset: $30 (48) ; <-> The type of the attribute being created
- attrTag ds.l 1 ; offset: $54 (84) ; <-> The tag of the attribute being created
- value ds.l 1 ; offset: $58 (88) ; <-> The value to write (pre-allocated, resize as needed)
- sizeof EQU * ; size: $5C (92)
- ENDR
-
- ; typedef struct DETAttributeNewBlock DETAttributeNewBlock
- DETAttributeChangeBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- parent ds.l 1 ; offset: $26 (38) ; -> The object within which the creation will occur
- refNum ds.w 1 ; offset: $2A (42) ; -> Refnum for returned address (DSSpecs in PDs only)
- identity ds.l 1 ; offset: $2C (44) ; -> The identity we're browsing as in the parent object
- attrType ds.l 9 ; offset: $30 (48) ; <-> The type of the attribute being changed
- attrTag ds.l 1 ; offset: $54 (84) ; <-> The tag of the attribute being changed
- attrCID ds.l 2 ; offset: $58 (88) ; <-> The CID of the attribute being changed
- value ds.l 1 ; offset: $60 (96) ; <-> The value to write (pre-allocated, resize as needed)
- sizeof EQU * ; size: $64 (100)
- ENDR
-
- ; typedef struct DETAttributeChangeBlock DETAttributeChangeBlock
- DETAttributeDeleteBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- dsSpec ds.l 1 ; offset: $26 (38) ; -> The object which will be deleted
- refNum ds.w 1 ; offset: $2A (42) ; -> Refnum for returned address (DSSpecs in PDs only)
- identity ds.l 1 ; offset: $2C (44) ; -> The identity we're browsing as
- sizeof EQU * ; size: $30 (48)
- ENDR
-
- ; typedef struct DETAttributeDeleteBlock DETAttributeDeleteBlock
- DETItemNewBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- sizeof EQU * ; size: $26 (38)
- ENDR
-
- ; typedef struct DETItemNewBlock DETItemNewBlock
- DETShouldSyncBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- shouldSync ds.b 1 ; offset: $26 (38) ; <- True if we should now sync with catalog
- filler2 ds.b 1 ; offset: $27 (39)
- sizeof EQU * ; size: $28 (40)
- ENDR
-
- ; typedef struct DETShouldSyncBlock DETShouldSyncBlock
- DETDoSyncBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- sizeof EQU * ; size: $26 (38)
- ENDR
-
- ; typedef struct DETDoSyncBlock DETDoSyncBlock
- DETPatternInBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- elementType ds.l 1 ; offset: $28 (40) ; -> Element type from pattern
- extra ds.l 1 ; offset: $2C (44) ; -> Extra field from pattern
- attribute ds.l 1 ; offset: $30 (48) ; -> The complete attribute
- dataOffset ds.l 1 ; offset: $34 (52) ; <-> Offset to current (next) byte
- bitOffset ds.w 1 ; offset: $38 (56) ; <-> Bit offset (next bit is *fData >> fBitOffset++)
- sizeof EQU * ; size: $3A (58)
- ENDR
-
- ; typedef struct DETPatternInBlock DETPatternInBlock
- DETPatternOutBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- elementType ds.l 1 ; offset: $28 (40) ; -> Element type from pattern
- extra ds.l 1 ; offset: $2C (44) ; -> Extra field from pattern
- attribute ds.l 1 ; offset: $30 (48) ; -> The attribute (minus the data portion)
- data ds.l 1 ; offset: $34 (52) ; -> Data to be written (pre-allocated, resize and add at end)
- dataOffset ds.l 1 ; offset: $38 (56) ; <-> Offset to next byte to write
- bitOffset ds.w 1 ; offset: $3C (60) ; <-> Bit offset (if zero, handle will need to be resized to one more byte before write)
- sizeof EQU * ; size: $3E (62)
- ENDR
-
- ; typedef struct DETPatternOutBlock DETPatternOutBlock
- DETOpenSelfBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- modifiers ds.w 1 ; offset: $26 (38) ; -> Modifiers at open time (option/control/command/shift keys)
- sizeof EQU * ; size: $28 (40)
- ENDR
-
- ; typedef struct DETOpenSelfBlock DETOpenSelfBlock
- DETConvertToNumberBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- theValue ds.l 1 ; offset: $28 (40) ; <- The converted value to return
- sizeof EQU * ; size: $2C (44)
- ENDR
-
- ; typedef struct DETConvertToNumberBlock DETConvertToNumberBlock
- DETConvertToRStringBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- theValue ds.l 1 ; offset: $28 (40) ; <- A handle with the converted value (callee must allocate handle, DE will DisposHandle() it)
- sizeof EQU * ; size: $2C (44)
- ENDR
-
- ; typedef struct DETConvertToRStringBlock DETConvertToRStringBlock
- DETConvertFromNumberBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- theValue ds.l 1 ; offset: $28 (40) ; -> The value to convert (result should be written direct to the property)
- sizeof EQU * ; size: $2C (44)
- ENDR
-
- ; typedef struct DETConvertFromNumberBlock DETConvertFromNumberBlock
- DETConvertFromRStringBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- theValue ds.l 1 ; offset: $28 (40) ; -> The value to convert (result should be written direct to the property)
- sizeof EQU * ; size: $2C (44)
- ENDR
-
- ; typedef struct DETConvertFromRStringBlock DETConvertFromRStringBlock
- DETCustomViewDrawBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- sizeof EQU * ; size: $28 (40)
- ENDR
-
- ; typedef struct DETCustomViewDrawBlock DETCustomViewDrawBlock
- DETCustomViewMouseDownBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- theEvent ds.l 1 ; offset: $28 (40) ; -> The original event record of the mouse-down
- sizeof EQU * ; size: $2C (44)
- ENDR
-
- ; typedef struct DETCustomViewMouseDownBlock DETCustomViewMouseDownBlock
- DETKeyPressBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- theEvent ds.l 1 ; offset: $28 (40) ; -> The original event record of the key-press
- sizeof EQU * ; size: $2C (44)
- ENDR
-
- ; typedef struct DETKeyPressBlock DETKeyPressBlock
- DETPasteBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- property ds.w 1 ; offset: $26 (38)
- modifiers ds.w 1 ; offset: $28 (40) ; -> Modifiers at paste time (option/control/command/shift keys)
- sizeof EQU * ; size: $2A (42)
- ENDR
-
- ; typedef struct DETPasteBlock DETPasteBlock
- DETCustomMenuSelectedBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- menuTableParameter ds.w 1 ; offset: $26 (38) ; -> The "property" field from the custom menu table
- sizeof EQU * ; size: $28 (40)
- ENDR
-
- ; typedef struct DETCustomMenuSelectedBlock DETCustomMenuSelectedBlock
- DETCustomMenuEnabledBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- menuTableParameter ds.w 1 ; offset: $26 (38) ; -> The "property" field from the custom menu table
- enable ds.b 1 ; offset: $28 (40) ; <- Whether to enable the menu item
- filler2 ds.b 1 ; offset: $29 (41)
- sizeof EQU * ; size: $2A (42)
- ENDR
-
- ; typedef struct DETCustomMenuEnabledBlock DETCustomMenuEnabledBlock
- ; typedef struct DETForwarderListItem DETForwarderListItem
- ; typedef DETForwarderListItem *DETForwarderListItemPtr
- DETForwarderListItem RECORD 0
- next ds.l 1 ; offset: $0 (0) ; Pointer to next item, or nil
- attributeValueTag ds.l 1 ; offset: $4 (4) ; Tag of new templates (0 for none)
- rstrs ds.l 256 ; offset: $8 (8) ; Record type (empty if none), attrbute type (empty if none),
- ; list of template names to forward to
- sizeof EQU * ; size: $408 (1032)
- ENDR
-
- ; typedef DETForwarderListItemPtr *DETForwarderListHandle
- DETDynamicForwardersBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- forwarders ds.l 1 ; offset: $10 (16) ; <- List of forwaders
- sizeof EQU * ; size: $14 (20)
- ENDR
-
- ; typedef struct DETDynamicForwardersBlock DETDynamicForwardersBlock
- DETDynamicResourceBlock RECORD 0
- reqFunction ds.l 1 ; offset: $0 (0)
- callBack ds.l 1 ; offset: $4 (4)
- callBackPrivate ds.l 1 ; offset: $8 (8)
- templatePrivate ds.l 1 ; offset: $C (12)
- instancePrivate ds.l 1 ; offset: $10 (16)
- target ds.l 4 ; offset: $14 (20)
- targetIsMainAspect ds.b 1 ; offset: $24 (36)
- filler1 ds.b 1 ; offset: $25 (37)
- resourceType ds.l 1 ; offset: $26 (38) ; -> The resource type being requested
- propertyNumber ds.w 1 ; offset: $2A (42) ; -> The property number of the resource being requested
- resourceID ds.w 1 ; offset: $2C (44) ; -> The resource ID (base ID + property number) of the resource
- theResource ds.l 1 ; offset: $2E (46) ; <- The requested resource
- sizeof EQU * ; size: $32 (50)
- ENDR
-
- ; typedef struct DETDynamicResourceBlock DETDynamicResourceBlock
- DETCallBlock RECORD 0
- protoCall ds.l 10 ; offset: $0 (0)
- ORG 0
- init ds.l 5 ; offset: $0 (0)
- ORG 0
- exit ds.l 4 ; offset: $0 (0)
- ORG 0
- instanceInit ds.w 19 ; offset: $0 (0)
- ORG 0
- instanceExit ds.w 19 ; offset: $0 (0)
- ORG 0
- instanceIdle ds.w 19 ; offset: $0 (0)
- ORG 0
- propertyCommand ds.l 11 ; offset: $0 (0)
- ORG 0
- maximumTextLength ds.l 11 ; offset: $0 (0)
- ORG 0
- viewListChanged ds.w 19 ; offset: $0 (0)
- ORG 0
- propertyDirtied ds.l 10 ; offset: $0 (0)
- ORG 0
- validateSave ds.w 21 ; offset: $0 (0)
- ORG 0
- dropQuery ds.w 41 ; offset: $0 (0)
- ORG 0
- dropMeQuery ds.w 41 ; offset: $0 (0)
- ORG 0
- attributeCreationBlock ds.w 35 ; offset: $0 (0)
- ORG 0
- attributeNew ds.l 23 ; offset: $0 (0)
- ORG 0
- attributeChange ds.l 25 ; offset: $0 (0)
- ORG 0
- attributeDelete ds.l 12 ; offset: $0 (0)
- ORG 0
- itemNew ds.w 19 ; offset: $0 (0)
- ORG 0
- patternIn ds.w 29 ; offset: $0 (0)
- ORG 0
- patternOut ds.w 31 ; offset: $0 (0)
- ORG 0
- shouldSync ds.l 10 ; offset: $0 (0)
- ORG 0
- doSync ds.w 19 ; offset: $0 (0)
- ORG 0
- openSelf ds.l 10 ; offset: $0 (0)
- ORG 0
- convertToNumber ds.l 11 ; offset: $0 (0)
- ORG 0
- convertToRString ds.l 11 ; offset: $0 (0)
- ORG 0
- convertFromNumber ds.l 11 ; offset: $0 (0)
- ORG 0
- convertFromRString ds.l 11 ; offset: $0 (0)
- ORG 0
- customViewDraw ds.l 10 ; offset: $0 (0)
- ORG 0
- customViewMouseDown ds.l 11 ; offset: $0 (0)
- ORG 0
- keyPress ds.l 11 ; offset: $0 (0)
- ORG 0
- paste ds.w 21 ; offset: $0 (0)
- ORG 0
- customMenuSelected ds.l 10 ; offset: $0 (0)
- ORG 0
- customMenuEnabled ds.w 21 ; offset: $0 (0)
- ORG 0
- dynamicForwarders ds.l 5 ; offset: $0 (0)
- ORG 0
- dynamicResource ds.w 25 ; offset: $0 (0)
- ORG 100
- sizeof EQU * ; size: $64 (100)
- ENDR
-
- ; typedef union DETCallBlock DETCallBlock
- ; typedef DETCallBlock *DETCallBlockPtr
-
- kDETCallForOther EQU 1 ; Call for things not listed below (also auto-enabled by DE if any of the below are enabled)
- kDETCallForIdle EQU 2 ; kDETcmdIdle
- kDETCallForCommands EQU 4 ; kDETcmdPropertyCommand, kDETcmdSelfOpen
- kDETCallForViewChanges EQU 8 ; kDETcmdViewListChanged, kDETcmdPropertyDirtied, kDETcmdMaximumTextLength
- kDETCallForDrops EQU $10 ; kDETcmdDropQuery, kDETcmdDropMeQuery
- kDETCallForAttributes EQU $20 ; kDETcmdAttributeCreation, kDETcmdAttributeNew, kDETcmdAttributeChange, kDETcmdAttributeDelete
- kDETCallForValidation EQU $40 ; kDETcmdValidateSave
- kDETCallForKeyPresses EQU $80 ; kDETcmdKeyPress and kDETcmdPaste
- kDETCallForResources EQU $100 ; kDETcmdDynamicResource
- kDETCallForSyncing EQU $200 ; kDETcmdShouldSync, kDETcmdDoSync
- kDETCallForEscalation EQU $8000 ; All calls escalated from the next lower level
- kDETCallForNothing EQU 0 ; None of the above
- ; * All of the above
- kDETCallForEverything EQU $FFFFFFFF
-
- ; typedef DETCallUPP DETCall
- ; This following macro saves you from having to dig out the call-back pointer from the call block:
-
- kSAMFirstDevProperty EQU 40 + 10
-
- ;
- ; SAM templates have additional resources/properties that are required
- ; for interaction with the AOCE Key Chain.
- ;
- ; Type Offset Description
- ; ---- ------ -----------
- ; 'rstr' kSAMAspectUserName The user name
- ; 'rstr' kSAMAspectKind The kind of SAM
- ; 'detn' kSAMAspectCannotDelete If 0, then the slot cannot be deleted
- ; 'sami' kSAMAspectSlotCreationInfo The info required to create a slot record
- ;
- kSAMAspectUserName EQU 40 + 1
- kSAMAspectKind EQU 40 + 2
- kSAMAspectCannotDelete EQU 40 + 3
- kSAMAspectSlotCreationInfo EQU 40 + 4
-
- ;*************************************************************************************
- ; ********************************* Admin Definitions: *********************************
- ; *************************************************************************************
- kDETAdminVersion EQU -978
-
- ENDIF ; __OCETEMPLATES__
-